STM32 电机控制 SDK MCFW-6.4.1
用于构建驱动 STM32 的 PMSM 电机应用的软件开发套件
速度与位置反馈无传感器算法

上一页:转子速度与位置反馈 ↤|目录 |↦ 下一页:霍尔传感器反馈处理

简介

MCSDK固件库为无传感器电机控制提供了完整的解决方案。

前两种方法基于使用卢恩伯格状态观测器进行电机反电动势估计。它们的区别在于角度的提取。MCSDK库支持:

第三种方法称为高灵敏度观测器HSO,基于马达通量观测器,测量相电流和电压。

反电动势状态观测器(STO)

测量到的电流 \(i_{\alpha}\), \(i_{\beta}\) 和供电电压 \(v_{\alpha}\), \(v_{\beta}\) 作为状态观察者的输入,用以估算电机反电动势,该反电动势包含转子磁铁位置的信息,从而根据以下陈述推算转子磁铁位置的信息:

\(\hat{E}_\alpha= |\hat{E}|\cos{\hat{\theta_r}}\)

\(\hat{E}_\beta= -|\hat{E}|\sin{\hat{\theta_r}}\)

\(|\hat{E}| = \sqrt{\hat{E}_\alpha^2 + \hat{E}_\beta^2}\)

\({\hat{\theta_r}} = {\hat{\theta_{r0}}} + \int_{t_0}^t \mathrm{\hat{\omega_r}}(\tau)\,\mathrm{d}\tau\)

其中 \(\hat{E}_\alpha\)、\(\hat{E}_\beta\) 代表电机的估计 B 电动势,\( |\hat{E}| = 其振幅 K_e\hat{\omega}_r\)。

\(\hat{\omega}_r\)和\(\hat{\theta_r}\)分别表示电机的电速度和相关的电角。

在每个FOC周期(电流环控制中),必须通过相位检测算法处理估算的B-EMF矢量\({\hat{E}_{\alpha\beta}}\),以提取转子磁铁的位置和速度信息。如框图所示,转子速度参数也作为反馈信号提供给星际观察者本身。

从电机模型出发,使用类似卢恩伯格的观察者来追踪电机的反电动势。然后,通过相位检测算法可以正确提取位置和速度信息。

STO示意图块

因此,描述估计量反电动势观察者的微分方程如下:

$$X′(t)=AX(t)+Bu(t)+K(y(t)-Y(t))$$

\(\frac{d\hat{I}_{\alpha,\beta}(t)}{dt}= - \frac{Rs}{Ls} \hat{I}_{\alpha,\beta}(t)- \frac{\hat{E}_{\alpha,\beta}(t)}{ Ls } + \frac{ v_{\alpha,\beta}(t)}{ Ls } + {\color{green}{K_1}} [i_{\alpha,\beta}(t) - \hat{I}_{\alpha,\beta}(t)] \)

\(\frac{d\hat{E_\alpha}(t)}{dt}= \omega_r \hat{E_\beta}(t) + {\color{green}{K_2}} [i_\alpha (t)- \hat{I_\alpha}(t)] \)

\(\frac{d\hat{E_\beta}(t)}{dt}= -\omega_r \hat{E_\alpha}(t) + {\color{green}{K_2}}[i_\beta(t)- \hat{I_\beta}(t)] \)

要从连续时间切换到离散时间,需要应用采样时间周期(指定为T)

  • 估计电流的表达方式:

    \(\hat{I}_{\alpha,\beta}(n+1)-\hat{I}_{\alpha,\beta}(n) = -\frac{Rs }{ Ls }.T.\hat{I}_{\alpha,\beta}(n)- T.\frac{ \hat{E}_{\alpha,\beta}(n)}{ Ls } + T.\frac{ v_{\alpha,\beta}(n)}{ Ls } + {\color{green}{K_1}}.T.[i_{\alpha,\beta}(n) - \hat{I}_{\alpha,\beta}(n)] \)

    \(\hat{I}_{\alpha,\beta}(n+1) = \hat{I}_{\alpha,\beta}(n) -\frac{Rs }{ Ls }.T.\hat{I}_{\alpha,\beta}(n)- T.\frac{ \hat{E}_{\alpha,\beta}(n)}{ Ls } + T.\frac{ v_{\alpha,\beta}(n)}{ Ls } + {\color{green}{K_1}}.T.[i_{\alpha,\beta}(n) - \hat{I}_{\alpha,\beta}(n)] \)

    \(\hat{I}_{\alpha,\beta}(n+1) = \hat{I}_{\alpha,\beta}(n) - {\color{blue}{C_1}}。\hat{I}_{\alpha,\beta}(n)- {\color{blue}{C_3}}。\hat{E}_{\alpha,\beta}(n) + {\color{blue}{C_5}} .v_{\alpha,\beta}(n) + {{\color{green}{C_2}}}。[i_{\alpha,\beta}(n)- \hat{I}_{\alpha,\beta}(n)]\)

估计电流中使用的常数\(\color{blue}{C_1, C_2, C_3, C_5}\)的识别:

\({\color{blue}{C_1}} = F_1.\frac{Rs }{ Ls }.T\)

\({\color{blue}{C_3}} =F_1.\frac{MAX\_BEMF\_VOLTAGE}{MAX\_CURRENT} \frac{T}{LS}\)

\({\color{blue}{C_5}} = F_1.\frac{MAX\_VOLTAGE}{MAX\_CURRENT}\frac{T}{LS}\)

且 \({{\color{green}{C_2}}}} = F1.{\color{green}{K_1}}。T\) : 其中 \({{\color{green}{C_2}}}\) = 以及,由 ST Motor Control Workbench 在“速度感应 / 观察者”部分计算。

  • 估计反电动势的表达:

    Eα^(n+1)=Eα^(n)+T.ωr.Eβ^(n)+K2.T.[iα(nIα^(n)]

    Eβ^(n+1)=Eβ^(nT.ωr.Eα^(n)+K2.T.[iβ(nIβ^(n)]

    Eα^(n+1)=Eα^(n)+T.ωr.Eβ^(n)+C4.[iα(nIα^(n)]

    Eβ^(n+1)=Eβ^(nT.ωr.Eα^(n)+C4.[iβ(nIβ^(n)]

常数 \color{green}{C_4} 等于 :C4

{{\color{green}{C_4}}} = F_2.\frac{MAX\_CURRENT}{MAX\_BEMF\_VOLTAGE}{\color{green}{K_2}}。T : 其 {{\color{green}{C_4}}}} = Gain²,由ST电机控制工作台在“速度感应/观察者”部分计算。C4=F2.MAX_CURRENTMAX_BEMF_VOLTAGEK2.TC4

如图所示,观察者的调谐仅允许通过ST运动控制工作台预先计算的Gain1Gain2实现(如下所述)。

  • ST运动控制工作台对状态观察员增益的计算

增益 {\color{green}{K_1}} {\color{green}{K_2}}} 的初始值基于电机参数 R_sL_sT(即无感应算法的采样时间,与 FOC 和定子电流采样一致)。K1K2RsLsT

电机模型的特征值可计算为:

e1=1RsTLs

e2=1

观察者特征值被放置在:

e1obs=e1f

e2obs=e2f

经验法则是集合f = 4f=4;

然后计算 {\color{green}{K_1}}}{\color{green}{K_2}}} 的初始值:K1K2

K1=(e1obs+e2obs)2TRsLs

K2=Ls(1e1obse2obs+e1obse2obs)T2

然后通过应用适当的缩放(F_1F_2)以及以下常数定义的最大功能范围来计算:,和(根据项目定义由ST电机控制工作台内部计算)。F1F2MAX_CURRENTMAX_VOLTAGEMAX_BEMF_VOLTAGE

ST电机控制工作台遵循该程序计算适当的状态观测员增益。

角度提取

锁相环路

该算法的基本原理涉及正交相位检测器,涉及通过对应的几个正交输入信号({\hat{E}_{\alpha}}{\hat{E}_{\beta}})之间的相位差与估计角度\hat{\theta_r}的相应正交反馈函数之间的相位差Generate误差信号,如下方方块图所示:


误差信号({\epsilon})通过比例积分(PI)调节器校正,以提供估算速度\hat{\omega}_r积分后估计电角\hat{\theta}_r
E^αE^βθr^εω^rθ^r

估计B-EMF表达:

E^α=Keω~r因为θ~r

E^β=Keω~r罪恶θr~

K_e代表反电动势常数,\tilde{\omega}_r、\tilde{\theta} _r 是估计反电动势的脉冲和相位角。Keω~r,θ~r

根据PLL的方块图,误差信号{\epsilon}的数学表达式为:ε

ε=E^αsinθ^rE^β犯罪θ^r

通过替换估计的反电动势表达式,它变为:{\epsilon} = -K_e\tilde{\omega}_r\cos{\tilde\theta_r}.sin\hat{\theta}_r + K_e\tilde{\omega}_r\sin{\tilde{\theta_r}}.cos\hat{\theta}_r 应用三角公式:sin(a-b) = sin(a).cos(b) - sin(b).cos(a)ε=Keω~r因为θ~rsinθ^r+Keω~r罪恶θr~犯罪θ^r

误差方程可分解为:{\epsilon} = K_e\tilde{\omega}_r\sin(\tilde\theta_r - \hat{\theta}_r) ε=Keω~r罪恶(θ~rθ^r)

\tilde\theta_r中,表示输入参考,而\hat\theta_r对应反馈信号(即估计的电角度)。θ~rθ^r

对于这些角度之间的小偏差,误差表达式可近似为: \mathbf{{\epsilon\approx K_e\tilde{\omega}_r(\tilde\theta_r - \hat{\theta}_r) }}εKeω~r(θ~rθ^r)

使用比例积分器(PI)调节器确保估计的电角度 \hat\theta_r 收敛于输入 B-EMF 信号的相位角 \tilde\theta_r(通过保持误差 {\epsilon} = 0)θ^rθ~rε

科迪克

CORDIC(坐标旋转数字计算机)是一种成本效益高的连续近似算法,用于评估如三角函数等数学函数。

当前的mcsdk库提供了atan函数的软件实现:\hat\theta_r =atan( \frac{-\hat{E}_\beta}{\hat{E}_\alpha})θ^r=atan(E^βE^α)

而在G4系列中,为了缩短SW计算时间,提供了一个支持多个数学函数(包括所有三角函数)的CORDIC协处理器。

基于估计的反电动势分量,电角度会瞬时提取,但该方法对波形的质量和电平更为敏感。

高灵敏度观测器(HSO)

如引言所述,HSO需要三相电流和电压来进行角度和速度估计。下面的框图描述了算法的输入和输出信号。

HSO的创业指南文档可通过HSO创业指南访问。

HSO 框图

反电动势e(在静止坐标下:e_{\alpha\beta})可以根据测得的端子电压u_s和电机电流i_s结合定子电阻R_s和电感L_s的知识计算,使用(3)。除了R_sL_s的有效值外,这里还需要纯微分以及完美的电压和电流信号。方程(2)意味着正确取值 e 即可得到磁铁 \psi_{mag} 的正确估计。eeαβusisRsLsRsLseψmag

  1. us(t)=ULR(t)+dψmagdt
  2. et)=dψmagdt
  3. e(t) = u_s(t) - U_{LR}(t) ,其中 U_{LR}(t) 是电感和电阻两端的总电压。et)=us(tULR(t)ULR(t)

然后对反电动势进行积分,得到 \psi_{\alpha\beta},这将借助 G4 CORDIC 外设来估算角度。速度是角度的导数计算的。ψαβ

HSO还可以利用PolPulse算法确定启动时转子的位置。事实上,通过脉冲功能实现极性检测显著缩短了电机启动时间,相较于基础校准。它还避免了启动前转子的任何移动。

PolPulse的配置方法如下:

通过使用 MC Pilot 图形界面,该界面允许找到正确的设置来配置脉冲Generate,帮助算法确定近静止机器的实际角度。

图7:PolPulse MC Pilot GUI接口

GUI参数描述:

脉冲持续时间NB_PULSE_PERIODS):达到当前目标所需的PWM周期数。

衰变时间NB_DECAY_PERIODS):电流衰减所需的PWM周期数。

它取决于电机的L,可以在示波器上检查后调校。衰变结束时,电流应为零,甚至增加Nd。

脉冲电流目标:预期脉冲电流水平。

脉冲电流的电平必须根据电机类型进行设置。默认情况下,它被设置为短路电流的\frac{1}{4},并限制在板上的软过电流跳闸值(BOARD_SOFT_OVERCURRENT_TRIP)。该电平只能通过修改PulseCurrentGoal_A值(以安培表示)来调节,该值可在文件 mc_polpulse.c 中的例程 MC_POLPULSE_init() 中找到。14

脉冲值班:根据输入用户设置计算占用值。限制为0.98,调整脉冲持续时间和脉冲电流目标时应检查。负值报告意味着用户设置导致职责过剩。在这种情况下,就需要重新调整一次。

图8:4脉冲序列示例

在这个例子中,脉冲持续时间(N)为2,衰减时间(Nd)为2。当前脉冲在6频道绘制。

上一页:转子速度与位置反馈 ↤|目录 |↦ 下一页:霍尔传感器反馈处理